This specification relates to cloud computing platforms.
A cloud computing platform is a system of physical computers and software that provides application developers and other consumers a service allowing them to deploy and run applications in a cloud computing system. This service makes it unnecessary for application developers to acquire, build, or maintain complex computing clusters. Rather, an application developer can provide an application and configuration information to the cloud computing platform, and the cloud computing platform can configure and run one or more instances of the application, as requested, in a cloud computing system. Cloud computing platforms may provide robust execution by actively monitoring and maintaining multiple instances of the application.
A cloud computing platform runs user developed applications in a particular underlying computing platform of the cloud computing system. An underlying computing platform is an environment in which a user developed application is executed. Different computing platforms can include different hardware, chipset architectures, operating systems, or virtual operating systems, to name just a few examples of the differences that underlying computing platforms may have.
Cloud computing platforms may also execute applications within isolated user spaces of virtual machines (VMs), the isolated user spaces being commonly referred to as software containers, or containers for short. Containers provide security and improve performance by isolating application instances from other applications and from other components of the underlying computing platform without incurring the overhead typically associated with launching a full virtual machine. A particular container implementation is another component of an underlying computing platform.
Cloud computing platforms often host web applications. A web application includes software that is downloaded and run by a web browser. Typically, the web browser acts primarily as a user interface for the web application while significant portions of processing for the web application occur on the cloud computing platform. Examples of applications that have been implemented as web applications include word processing applications, image editing applications, and email applications.